Title Banner

Previous Book Contents Book Index Next

Inside Macintosh: Telephony /
Chapter 3 - Directory Numbers


Directory Numbers Summary

C Summary

Constants

Directory Number Types

enum {
   telAllDNs               = 0,
   telInternalDNs          = 1,
   telInternalDNsOnly      = 2,
   telExternalDNs          = 3,
   telDNTypeUnknown        = 4
};

Directory Number States

enum {
   telDNNotUsed            = 0,
   telDNPOTSCall           = 1,
   telDNFaxCall            = 2,
   telDNDataCall           = 3,
   telDNAlerting           = 4,
   telDNUnknownState       = 5
};

Directory Number Feature Flags

enum {
   dndSub                  = 1L << 0,
   dndAvail                = 1L << 1,
   dndActive               = 1L << 2,
   voiceMailAccessSub      = 1L << 3,
   voiceMailAccessAvail    = 1L << 4,
   voiceMailAccessActive   = 1L << 5,
   pagingSub               = 1L << 6,
   pagingAvail             = 1L << 7,
   pagingActive            = 1L << 8,
   intercomSub             = 1L << 9,
   intercomAvail           = 1L << 10,
   intercomActive          = 1L << 11,
   dnSelectSub             = 1L << 12,
   dnSelectAvail           = 1L << 13,
   dnSelectActive          = 1L << 14,
   callPickupSub           = 1L << 15,
   callPickupAvail         = 1L << 16,
   dnInUse                 = 1L << 17,
   logicalDN               = 1L << 18,
   dnAccessible            = 1L << 19,
   canInitiate             = 1L << 20,
   voiceMessageWaiting     = 1L << 21,
   hasDNSoundStreams       = 1L << 22,
   autoAnswerAvail         = 1L << 23,
   autoAnswerActive        = 1L << 24,
   tollSaverAvail          = 1L << 25,
   tollSaverActive         = 1L << 26
};

Call Forwarding Feature Flags

enum {
   immediateForwardSub     = 1L << 0,
   immediateForwardAvail   = 1L << 1,
   immediateForwardActive  = 1L << 2,
   busyForwardSub          = 1L << 3,
   busyForwardAvail        = 1L << 4,
   busyForwardActive       = 1L << 5,
   noAnswerForwardSub      = 1L << 6,
   noAnswerForwardAvail    = 1L << 7,
   noAnswerForwardActive   = 1L << 8,
   busyNAForwardSub        = 1L << 9,
   busyNAForwardAvail      = 1L << 10,
   busyNAForwardActive     = 1L << 11
};

Call Forwarding Types

enum {
   telForwardImmediate     = 1,
   telForwardBusy          = 2,
   telForwardNoAnswer      = 3,
   telForwardBusyNA        = 4,
   telForwardTypeUnknown   = 5
};

Do Not Disturb Types

enum {
   telDNDIntExt            = 0,
   telDNDExternal          = 1,
   telDNDInternal          = 2,
   telDNDNonIntercom       = 3
};

Data Types

typedef unsigned long      TELDNFeatureFlags;
typedef unsigned long      TELDNForwardFlags;

Directory Number Structure

struct TELDNRecord {
   short                   dnRef;
   StringPtr               dn;
   StringPtr               dnPartyName;
   StringPtr               dnSubaddress;
   TELHandle               hTEL;
   short                   maxAllocCA;
   short                   curAllocCA;
   short                   dnType;
   TELDNFeatureFlags       featureFlags;
   short                   numPageIDs;
   short                   numIntercomIDs;
   short                   numPickupIDs;
   TELDNForwardFlags       forwardFlags;
   StringPtr               iForwardDN;
   StringPtr               iForwardSubaddress;
   StringPtr               iForwardPartyName;
   StringPtr               bForwardDN;
   StringPtr               bForwardSubaddress;
   StringPtr               bForwardPartyName;
   StringPtr               naForwardDN;
   StringPtr               naForwardSubaddress;
   StringPtr               naForwardPartyName;
   short                   naForwardRings;
   long                    telDNPrivate;
   long                    refCon;
   long                    userData;
   long                    reserved;
};
typedef struct TELDNRecord TELDNRecord;
typedef TELDNRecord *TELDNPtr, **TELDNHandle;

Directory Number Functions

Finding Directory Numbers

pascal short TELCountDNs  (TELHandle hTEL, short dnType, Boolean physical);
pascal TELErr TELDNLookupByIndex(TELHandle hTEL, 
                           short dnType, 
                           Boolean physical, 
                           short index, 
                           TELDNHandle *hTELDN);
pascal TELErr TELDNLookupByName(TELHandle hTEL, 
                           ConstStr255Param DN, 
                           TELDNHandle *hTELDN);

Managing Directory Numbers

pascal TELErr TELDNSelect (TELDNHandle hTELDN, Boolean select);
pascal TELErr TELDNDispose(TELDNHandle hTELDN);

Getting Information About Directory Numbers

pascal TELErr TELGetDNInfo(TELDNHandle hTELDN);
pascal TELErr TELGetDNFlags(TELDNHandle hTELDN, 
                           long *dnFeatureFlags, 
                           long *dnForwardFlags);
pascal TELErr TELGetDNStatus(TELDNHandle hTELDN, long *inUse);
pascal TELErr TELGetDNProgressDet(TELDNHandle hTELDN, 
                           long selector, 
                           Boolean *prgDetOn);
pascal TELErr TELSetDNProgressDet(TELDNHandle hTELDN, 
                           long selector, 
                           Boolean prgDetOn);

Setting Forwarding Modes

pascal TELErr TELForwardSet(TELDNHandle hTELDN, 
                           ConstStr255Param forwardDN, 
                           ConstStr255Param forwardName, 
                           ConstStr255Param forwardSubaddress, 
                           short forwardType, 
                           short numrings);
pascal TELErr TELForwardClear(TELDNHandle hTELDN, short forwardType);

Setting Do Not Disturb Modes

pascal TELErr TELDNDSet(TELDNHandle hTELDN, short dndType);
pascal TELErr TELDNDClear(TELDNHandle hTELDN, short dndType);

Setting Directory Number Features

pascal TELErr TELDNSetAutoAnswer(TELDNHandle hTELDN, Boolean AutoAnswerOn);
pascal TELErr TELDNTollSaverControl (
                           TELDNHandle hTELDN, Boolean QuickAnswer);
pascal TELErr TELDNGetDTMF(TELDNHandle hTELDN, Boolean *dtmfOn);
pascal TELErr TELDNSetDTMF(TELDNHandle hTELDN, Boolean dtmfOn);

Managing Sound Input Drivers and Sound Output Components

pascal TELErr TELGetDNSoundInput(TELDNHandle hTELDN, Str255 deviceName);
pascal TELErr TELDisposeDNSoundInput (
                           TELDNHandle hTELDN, ConstStr255Param deviceName);
pascal TELErr TELGetDNSoundOutput(TELDNHandle hTELDN, Component *SndOut);
pascal TELErr TELDisposeDNSoundOutput (
                           TELDNHandle hTELDN, Component SndOut);

Pascal Summary

Constants

Directory Number Types

CONST
   telAllDNs               = 0;
   telInternalDNs          = 1;
   telInternalDNsOnly      = 2;
   telExternalDNs          = 3;
   telDNTypeUnknown        = 4;

Directory Number States

CONST
   telDNNotUsed            = 0;
   telDNPOTSCall           = 1;
   telDNFaxCall            = 2;
   telDNDataCall           = 3;
   telDNAlerting           = 4;
   telDNUnknownState       = 5;

Directory Number Feature Flags

CONST
   dndSub                  = $00000001;
   dndAvail                = $00000002;
   dndActive               = $00000004;
   voiceMailAccessSub      = $00000008;
   voiceMailAccessAvail    = $00000010;
   voiceMailAccessActive   = $00000020;
   pagingSub               = $00000040;
   pagingAvail             = $00000080;
   pagingActive            = $00000100;
   intercomSub             = $00000200;
   intercomAvail           = $00000400;
   intercomActive          = $00000800;
   dnSelectSub             = $00001000;
   dnSelectAvail           = $00002000;
   dnSelectActive          = $00004000;
   callPickupSub           = $00008000;
   callPickupAvail         = $00010000;
   dnInUse                 = $00020000;
   logicalDN               = $00040000;
   dnAccessible            = $00080000;
   canInitiate             = $00100000;
   voiceMessageWaiting     = $00200000;
   hasDNSoundStreams       = $00400000;
   autoAnswerAvail         = $00800000;
   autoAnswerActive        = $01000000;
   tollSaverAvail          = $02000000;
   tollSaverActive         = $04000000;

Call Forwarding Feature Flags

CONST
   immediateForwardSub     = $00000001;
   immediateForwardAvail   = $00000002,
   immediateForwardActive  = $00000004;
   busyForwardSub          = $00000008;
   busyForwardAvail        = $00000010;
   busyForwardActive       = $00000020;
   noAnswerForwardSub      = $00000040;
   noAnswerForwardAvail    = $00000080;
   noAnswerForwardActive   = $00000100;
   busyNAForwardSub        = $00000200;
   busyNAForwardAvail      = $00000400;
   busyNAForwardActive     = $00000800;

Call Forwarding Types

CONST
   telForwardImmediate     = 1;
   telForwardBusy          = 2;
   telForwardNoAnswer      = 3;
   telForwardBusyNA        = 4;
   telForwardTypeUnknown   = 5;

Do Not Disturb Types

CONST
   telDNDIntExt            = 0;
   telDNDExternal          = 1;
   telDNDInternal          = 2;
   telDNDNonIntercom       = 3;

Data Types

TYPE
   TELDNFeatureFlags       = LongInt;
   TELDNForwardFlags       = LongInt;

Directory Number Structure

   TELDNRecord = 
   RECORD
      dnRef:               Integer;
      dn:                  StringPtr;
      dnPartyName:         StringPtr;
      dnSubaddress:        StringPtr;
      hTEL:                TELHandle;
      maxAllocCA:          Integer;
      curAllocCA:          Integer;
      dnType:              Integer;
      featureFlags:        TELDNFeatureFlags;
      numPageIDs:          Integer;
      numIntercomIDs:      Integer;
      numPickupIDs:        Integer;
      forwardFlags:        TELDNForwardFlags;
      iForwardDN:          StringPtr;
      iForwardSubaddress:  StringPtr;
      iForwardPartyName:   StringPtr;
      bForwardDN:          StringPtr;
      bForwardSubaddress:  StringPtr;
      bForwardPartyName:   StringPtr;
      naForwardDN:         StringPtr;
      naForwardSubaddress: StringPtr;
      naForwardPartyName:  StringPtr;
      naForwardRings:      Integer;
      telDNPrivate:        LongInt;
      refCon:              LongInt;
      userData:            LongInt;
      reserved:            LongInt;
   END;
   TELDNHandle             = ^TELDNPtr;
   TELDNPtr                = ^TELDNRecord;

Directory Number Functions

Finding Directory Numbers

FUNCTION TELCountDNs      (hTEL: TELHandle; 
                           dnType: Integer; 
                           physical: Boolean): Integer;
FUNCTION TELDNLookupByIndex(hTEL: TELHandle; 
                           dnType: Integer; 
                           physical: Boolean; 
                           index: Integer; 
                           VAR hTELDN: TELDNHandle): TELErr;
FUNCTION TELDNLookupByName(hTEL: TELHandle; 
                           dn: Str255; 
                           VAR hTELDN: TELDNHandle): TELErr;

Managing Directory Numbers

FUNCTION TELDNSelect      (hTELDN: TELDNHandle; select: Boolean): TELErr;
FUNCTION TELDNDispose     (hTELDN: TELDNHandle): TELErr;

Getting Information About Directory Numbers

FUNCTION TELGetDNInfo     (hTELDN: TELDNHandle): TELErr;
FUNCTION TELGetDNFlags    (hTELDN: TELDNHandle; 
                           VAR dnFeatureFlags: LongInt;
                           VAR dnForwardFlags: LongInt): TELErr;
FUNCTION TELGetDNStatus   (hTELDN: TELDNHandle; VAR inUse: LongInt): TELErr;
FUNCTION TELGetDNProgressDet(hTELDN: TELDNHandle; 
                           selector: LongInt; 
                           VAR prgDetOn: Boolean): TELErr;
FUNCTION TELSetDNProgressDet(hTELDN: TELDNHandle; 
                           selector: LongInt; 
                           prgDetOn: Boolean): TELErr;

Setting Forwarding Modes

FUNCTION TELForwardSet    (hTELDN: TELDNHandle; 
                           forwardDN, forwardPartyName, forwardSubaddr: Str255; 
                           forwardType: Integer; 
                           numRings: Integer): TELErr;
FUNCTION TELForwardClear  (hTELDN: TELDNHandle; ftype: Integer): TELErr;

Setting Do Not Disturb Modes

FUNCTION TELDNDSet        (hTELDN: TELDNHandle; dndType: Integer): TELErr;
FUNCTION TELDNDClear      (hTELDN: TELDNHandle; dndType: Integer): TELErr;

Setting Directory Number Features

FUNCTION TELDNSetAutoAnswer(hTELDN: TELDNHandle; AutoAnswerOn: Boolean): TELErr;
FUNCTION TELDNTollSaverControl(hTELDN: TELDNHandle; QuickAnswer: Boolean): TELErr;
FUNCTION TELDNGetDTMF     (hTELDN: TELDNHandle; VAR dtmfOn: Boolean): TELErr;
FUNCTION TELDNSetDTMF     (hTELDN: TELDNHandle; dtmfOn: Boolean): TELErr;

Managing Sound Input Drivers and Sound Output Components

FUNCTION TELGetDNSoundInput(hTELDN: TELDNHandle; VAR deviceName: Str255): 
                           TELErr;
FUNCTION TELDisposeDNSoundInput(hTELDN: TELDNHandle; deviceName: Str255): TELErr;
FUNCTION TELGetDNSoundOutput(hTELDN: TELDNHandle; VAR SndOut: Component): TELErr;
FUNCTION TELDisposeDNSoundOutput(hTELDN: TELDNHandle; SndOut: Component): TELErr;


Previous Book Contents Book Index Next

© Apple Computer, Inc.
13 DEC 1996



Navigation graphic, see text links

Main | Top of Section | What's New | Apple Computer, Inc. | Find It | Feedback | Help